package br.com.tccc.gp.testes;

import java.util.List;

import javax.swing.JOptionPane;

import br.com.tcc.gp.controlador.ControlePessoa;
import br.com.tcc.gp.modelo.Endereco;
import br.com.tcc.gp.modelo.Pessoa;

public class TestePessoa {
	
	ControlePessoa controle = new ControlePessoa();
	int numero = 0;
	String texto ="";
	
	public TestePessoa(){
		menu();
	}
	
	public void menu(){		
		String txt  = "Pesssoa \n1 - Salvar \n2 - Pesquisar \n3 - Listar \n4 - Alterar \n5 - Deletar \n6 - Voltar ";		
		byte opcao =Byte.parseByte(JOptionPane.showInputDialog(txt));
		
		if(opcao == 1)
			salvar();		
		else if (opcao == 2)
			pesquisar();		
		else if(opcao == 3)
			listar();
		else if(opcao == 4)
			alterar();
		else if(opcao == 4)
			deletar();
		
	}
	
	//Salvar Pessoa
	public void salvar() {		
		Pessoa pessoa = new Pessoa();
		pessoa.setCpf(JOptionPane.showInputDialog("Entre com CPF"));
		pessoa.setRg(JOptionPane.showInputDialog("Entre com RG"));
		pessoa.setNome(JOptionPane.showInputDialog("Entre com Nome"));
		pessoa.setSexo(JOptionPane.showInputDialog("Entre com Sexo"));
		
		Endereco endereco = new Endereco();
		endereco.setEndereco(JOptionPane.showInputDialog("Rua:"));
		endereco.setCidade(JOptionPane.showInputDialog("Cidade:"));
		endereco.setCep(JOptionPane.showInputDialog("Cep:"));
		endereco.setEmail(JOptionPane.showInputDialog("E-mail:"));
		endereco.setFone1(JOptionPane.showInputDialog("Fone:"));
		endereco.setFone2(JOptionPane.showInputDialog("Fone Recado:"));
		
		pessoa.setEndereco(endereco);

		numero = controle.salvar(pessoa, endereco);		
		if (numero > 0);
			JOptionPane.showMessageDialog(null,"Pessoa Salva");
	}
	//Listar pessoas
	public void listar() {
		List<Pessoa> lista = controle.listar();		
		for (Pessoa pessoa : lista) {

			texto ="\n Codigo: "+ pessoa.getCodigo() +
					"\n Nome: "+ pessoa.getNome()+
					"\n CPF: "+pessoa.getCpf()+
					"\n RG:"+ pessoa.getRg() +
					"\n Sexo: " +pessoa.getSexo()+
					"Codigo Endereco: "+pessoa.getCodigo()+
					
					"Rua: "+pessoa.getEndereco()+ 
					"\n Cidade: "+pessoa.getEndereco().getCidade()+
					"\n E-mail: "+pessoa.getEndereco().getEmail()+
					"\n Fone: "+pessoa.getEndereco().getFone1()+
					"\n Recado: "+pessoa.getEndereco().getFone2()+
					"\n Cep"+pessoa.getEndereco().getCep();
			
			JOptionPane.showMessageDialog(null,texto);
		}
	}
	
	//Pesquisar Pesso
	public void pesquisar() {
		Pessoa p = new Pessoa();
		p.setCpf(JOptionPane.showInputDialog("Pesquisar por CPF"));
		Pessoa pessoa = controle.pesquisar(p);
			texto ="\n Codigo: "+ pessoa.getCodigo() +
					"\n Nome: "+ pessoa.getNome()+
					"\n CPF: "+pessoa.getCpf()+
					"\n RG:"+ pessoa.getRg() +
					"\n Sexo: " +pessoa.getSexo()+
					"Codigo Endereco: "+pessoa.getCodigo()+
					
					"Rua: "+pessoa.getEndereco()+ 
					"\n Cidade: "+pessoa.getEndereco().getCidade()+
					"\n E-mail: "+pessoa.getEndereco().getEmail()+
					"\n Fone: "+pessoa.getEndereco().getFone1()+
					"\n Recado: "+pessoa.getEndereco().getFone2()+
					"\n Cep"+pessoa.getEndereco().getCep();
			
			JOptionPane.showMessageDialog(null,texto);
	}
	
	//Deletar Pessoa
	public void deletar(){		
		Pessoa p = new Pessoa();
		p.setCpf(JOptionPane.showInputDialog("Deletar por CPF"));
		numero = controle.deletar(p);
		if (numero > 0);
		JOptionPane.showMessageDialog(null,"Pessoa Deleta");
		
	}
	
	//Alterar Pessoa
	public void alterar(){
		
		Pessoa p = new Pessoa();
		p.setCpf(JOptionPane.showInputDialog("Pesquisar por CPF"));
		p = controle.pesquisar(p);
		
		p.setRg(JOptionPane.showInputDialog("Entre com RG"));
		p.setNome(JOptionPane.showInputDialog("Entre com Nome"));
		p.setSexo(JOptionPane.showInputDialog("Entre com Sexo"));
		
		Endereco endereco = new Endereco();
		endereco.setEndereco(JOptionPane.showInputDialog("Rua:"));
		endereco.setCidade(JOptionPane.showInputDialog("Cidade:"));
		endereco.setCep(JOptionPane.showInputDialog("Cep:"));
		endereco.setEmail(JOptionPane.showInputDialog("E-mail:"));
		endereco.setFone1(JOptionPane.showInputDialog("Fone:"));
		endereco.setFone2(JOptionPane.showInputDialog("Fone Recado:"));
		
		p.setEndereco(endereco);
		
		controle.alterar(p, endereco);
	}

}